<!DOCTYPE html>

<html lang="en">

<head>
    
    <title>硬件DIY-基于TL494的SPWM调制解调器 - ZeyuWu&#39;s Blog</title>
    <meta charset="UTF-8">
    <meta name="keywords" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5">
    
    

    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
    <meta name="description" content="前言​        TL494是一款优秀的电源控制IC，80年代推出后即占据了大片市场，时至今日，依旧有不小的市场占有率。对我而言，它可以说是承载了我童年回忆的一款芯片，高中不让带手机，于是用它设计可拆卸电池的充电宝；后来又用它做等离子扬声器、做逆变器，甚至大一参加的电赛题，基于它的工作原理，就用纯硬件实现了整个题目的所有的要求，一行代码都不用写…… ​        那么废话不多说，先附上本次">
<meta property="og:type" content="article">
<meta property="og:title" content="硬件DIY-基于TL494的SPWM调制解调器">
<meta property="og:url" content="http://example.com/2021/12/13/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/index.html">
<meta property="og:site_name" content="ZeyuWu&#39;s Blog">
<meta property="og:description" content="前言​        TL494是一款优秀的电源控制IC，80年代推出后即占据了大片市场，时至今日，依旧有不小的市场占有率。对我而言，它可以说是承载了我童年回忆的一款芯片，高中不让带手机，于是用它设计可拆卸电池的充电宝；后来又用它做等离子扬声器、做逆变器，甚至大一参加的电赛题，基于它的工作原理，就用纯硬件实现了整个题目的所有的要求，一行代码都不用写…… ​        那么废话不多说，先附上本次">
<meta property="og:locale" content="en_US">
<meta property="og:image" content="https://res.cloudinary.com/changsha/image/upload/v1639407950/Blog/Article/%5B%E7%A1%AC%E4%BB%B6DIY%5D%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/%E6%95%B4%E4%BD%93%E5%8E%9F%E7%90%86%E5%9B%BE_almfmw.jpg">
<meta property="og:image" content="https://res.cloudinary.com/changsha/image/upload/v1639409553/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/SPWM_xovcmt.png">
<meta property="og:image" content="https://res.cloudinary.com/changsha/image/upload/v1639445228/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/LC%E4%BD%8E%E9%80%9A_upg9n4.png">
<meta property="og:image" content="https://img-blog.csdnimg.cn/img_convert/2636a83b9491170f56eb5073b0944f6c.png">
<meta property="og:image" content="https://res.cloudinary.com/changsha/image/upload/v1639446564/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/%E7%94%B2%E7%B1%BB%E6%94%BE%E5%A4%A7_n4xa0l.png">
<meta property="og:image" content="https://res.cloudinary.com/changsha/image/upload/v1639411286/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/TL494_pe796k.png">
<meta property="og:image" content="https://res.cloudinary.com/changsha/image/upload/v1639470423/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/TL494demo_jkxip5.png">
<meta property="og:image" content="https://res.cloudinary.com/changsha/image/upload/v1640387781/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/%E6%AD%BB%E5%8C%BA_hzqz1c.png">
<meta property="og:image" content="https://res.cloudinary.com/changsha/image/upload/v1639413276/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/IR2110_guahqk.png">
<meta property="og:image" content="https://res.cloudinary.com/changsha/image/upload/v1639413276/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/IR2110Pinmap_jsjobn.png">
<meta property="og:image" content="https://res.cloudinary.com/changsha/image/upload/v1640395494/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/%E5%85%A8%E6%A1%A5_uxtahk.png">
<meta property="og:image" content="https://res.cloudinary.com/changsha/image/upload/v1640396997/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/IR2110%E5%8E%9F%E7%90%86_qqoxfg.jpg">
<meta property="article:published_time" content="2021-12-12T16:00:00.000Z">
<meta property="article:modified_time" content="2021-12-25T02:23:59.239Z">
<meta property="article:author" content="ZeyuWu">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://res.cloudinary.com/changsha/image/upload/v1639407950/Blog/Article/%5B%E7%A1%AC%E4%BB%B6DIY%5D%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/%E6%95%B4%E4%BD%93%E5%8E%9F%E7%90%86%E5%9B%BE_almfmw.jpg">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/combine/npm/highlight.js@9.15.8/styles/atom-one-dark.css,npm/justifiedGallery@3.8.1/dist/css/justifiedGallery.min.css,gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css,npm/hexo-theme-nexmoe@latest/source/lib/mdui_043tiny/css/mdui.css,npm/hexo-theme-nexmoe@latest/source/lib/iconfont/iconfont.css?v=233" crossorigin>
    <link rel="stylesheet" href="/css/style.css?v=1658327705556">
     
    
    <link rel="stylesheet" href="/lib/iconfont/iconfont.css?v=1658327705556">
    
<meta name="generator" content="Hexo 5.4.0"></head>

<body class="mdui-drawer-body-left">
    
    <div id="nexmoe-background">
        <div class="nexmoe-bg" style="background-image: url(https://cdn.jsdelivr.net/gh/nexmoe/nexmoe.github.io@latest/images/cover/5c3aec85a4343.jpg)"></div>
        <div class="mdui-appbar mdui-shadow-0">
            <div class="mdui-toolbar">
                <a mdui-drawer="{target: '#drawer', swipe: true}" title="menu" class="mdui-btn mdui-btn-icon mdui-ripple"><i class="mdui-icon nexmoefont icon-menu"></i></a>
                <div class="mdui-toolbar-spacer"></div>
                <!--<a href="javascript:;" class="mdui-btn mdui-btn-icon"><i class="mdui-icon material-icons">search</i></a>-->
                <a href="/" title="ZeyuWu" class="mdui-btn mdui-btn-icon"><img src="https://res.cloudinary.com/changsha/image/upload/v1639369050/Blog/Config/hutao_aif08p.jpg" alt="ZeyuWu"></a>
            </div>
        </div>
    </div>
    <div id="nexmoe-header">
        <div class="nexmoe-drawer mdui-drawer" id="drawer">
    <div class="nexmoe-avatar mdui-ripple">
        <a href="/" title="ZeyuWu">
            <img src="https://res.cloudinary.com/changsha/image/upload/v1639369050/Blog/Config/hutao_aif08p.jpg" alt="ZeyuWu" alt="ZeyuWu">
        </a>
    </div>
    <div class="nexmoe-count">
        <div><span>Articles</span>4</div>
        <div><span>Tags</span>0</div>
        <div><span>Categories</span>0</div>
    </div>
    <div class="nexmoe-list mdui-list" mdui-collapse="{accordion: true}">
        
        <a class="nexmoe-list-item mdui-list-item mdui-ripple false" href="/" title="回到首页">
            <i class="mdui-list-item-icon nexmoefont icon-home"></i>
            <div class="mdui-list-item-content">
                回到首页
            </div>
        </a>
        
        <a class="nexmoe-list-item mdui-list-item mdui-ripple false" href="/about.html" title="关于博客">
            <i class="mdui-list-item-icon nexmoefont icon-info-circle"></i>
            <div class="mdui-list-item-content">
                关于博客
            </div>
        </a>
        
        <a class="nexmoe-list-item mdui-list-item mdui-ripple false" href="/PY.html" title="我的朋友">
            <i class="mdui-list-item-icon nexmoefont icon-unorderedlist"></i>
            <div class="mdui-list-item-content">
                我的朋友
            </div>
        </a>
        
    </div>
    <aside id="nexmoe-sidebar">
    
    <div class="nexmoe-widget-wrap">
    <div class="nexmoe-widget nexmoe-search">
         
            <form id="search_form" action_e="https://cn.bing.com/search?q=site:nexmoe.com" onsubmit="return search();">
                <label><input id="search_value" name="q" type="search" placeholder="Search"></label>
            </form>
         
    </div>
</div>
    
    <div class="nexmoe-widget-wrap">
    <div class="nexmoe-widget nexmoe-social">
        <a class="mdui-ripple" href="https://jq.qq.com/?_wv=1027&k=5CfKHun" target="_blank" mdui-tooltip="{content: 'QQ群'}" style="color: rgb(249, 174, 8);background-color: rgba(249, 174, 8, .1);">
            <i class="nexmoefont icon-QQ"></i>
        </a><a class="mdui-ripple" href="https://space.bilibili.com/20238211" target="_blank" mdui-tooltip="{content: '哔哩哔哩'}" style="color: rgb(231, 106, 141);background-color: rgba(231, 106, 141, .15);">
            <i class="nexmoefont icon-bilibili"></i>
        </a><a class="mdui-ripple" href="https://github.com/nexmoe/" target="_blank" mdui-tooltip="{content: 'GitHub'}" style="color: rgb(25, 23, 23);background-color: rgba(25, 23, 23, .15);">
            <i class="nexmoefont icon-github"></i>
        </a>
    </div>
</div>
    
    

    
    
    
</aside>
    <div class="nexmoe-copyright">
        &copy; 2022 ZeyuWu
        Powered by <a href="http://hexo.io/" target="_blank">Hexo</a>
        & <a href="https://github.com/theme-nexmoe/hexo-theme-nexmoe" target="_blank">Nexmoe</a>
        <br><a target="_blank" href="https://www.upyun.com/?utm_source=lianmeng&utm_medium=referral"><img src="https://i.dawnlab.me/c0268c1e6cfd0863d6ba35be1575941a.png" width="150px"></a><script data-ad-client="ca-pub-2058306854838448" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    </div>
</div><!-- .nexmoe-drawer -->
    </div>
    <div id="nexmoe-content">
        <div class="nexmoe-primary">
            <div class="nexmoe-post">

  <article>
      
          <div class="nexmoe-post-cover" style="padding-bottom: 66.66666666666666%;"> 
              <img data-src="https://cdn.jsdelivr.net/gh/nexmoe/nexmoe.github.io@latest/images/cover/5c3aec85a4343.jpg" data-sizes="auto" alt="硬件DIY-基于TL494的SPWM调制解调器" class="lazyload">
              <h1>硬件DIY-基于TL494的SPWM调制解调器</h1>
          </div>
      
      
      <div class="nexmoe-post-meta nexmoe-rainbow" style="margin:10px 0!important;">
    <a><i class="nexmoefont icon-calendar-fill"></i>2021年12月13日</a>
    <a><i class="nexmoefont icon-areachart"></i>3.3k 字</a>
    <a><i class="nexmoefont icon-time-circle-fill"></i>大概 13 分钟</a>
</div>

      

      <h4 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h4><p>​        TL494是一款优秀的电源控制IC，80年代推出后即占据了大片市场，时至今日，依旧有不小的市场占有率。对我而言，它可以说是承载了我童年回忆的一款芯片，高中不让带手机，于是用它设计可拆卸电池的充电宝；后来又用它做等离子扬声器、做逆变器，甚至大一参加的电赛题，基于它的工作原理，就用纯硬件实现了整个题目的所有的要求，一行代码都不用写……</p>
<p>​        那么废话不多说，先附上本次主角的原理图：</p>
<p><img data-fancybox="gallery" data-sizes="auto" data-src="https://res.cloudinary.com/changsha/image/upload/v1639407950/Blog/Article/%5B%E7%A1%AC%E4%BB%B6DIY%5D%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/%E6%95%B4%E4%BD%93%E5%8E%9F%E7%90%86%E5%9B%BE_almfmw.jpg" alt="图1" class="lazyload"></p>
<center>图1 整体原理图</center>

<p>​        图1为SPWM调制解调器的整体原理图，其本质为SPWM的调制解调器，因为嫌弃自家低音炮的下潜频率不够，这次应用就从低音炮功放开始。这个图稍微修改一下，也可以用作逆变器后级，等离子扬声器等。</p>
<p>​    </p>
<p>在分析整体电路工作原理之前，要有如下几点知识储备：</p>
<p><code>1. 基本的模电知识</code><br><code>2. 双极性SPWM原理</code><br><code>3. TL494工作原理</code><br><code>4. IR2110工作原理</code></p>
<h4 id="SPWM原理详解："><a href="#SPWM原理详解：" class="headerlink" title="SPWM原理详解："></a>SPWM原理详解：</h4><p>基本的模电知识本文不再赘述，咱们从SPWM开始分析。</p>
<p>SPWM的全称是(<code>Sinusoidal PWM</code>)，正弦脉冲宽度调制是一种非常成熟，使用非常广泛的技术，基本原理就是面积等效原理，有点类似于电压有效值的定义，只不过电压有效值讨论的时间窗口是一整个完整的交流电压周期，在负载上产生的等效直流电压，而SPWM则是讨论特定时间窗口下在负载上产生的等效直流电压，该时间窗口由SPWM的载波频率决定。</p>
<p>说人话就是<strong>通过一系列形状不同的窄脉冲信号，相对应时间的积分相等(面积相等)，其最终效果相同</strong>；</p>
<p>咱们来看一张图，加深对上述文字的理解</p>
<p><img data-fancybox="gallery" data-sizes="auto" data-src="https://res.cloudinary.com/changsha/image/upload/v1639409553/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/SPWM_xovcmt.png" alt="SPWM" class="lazyload"></p>
<center>图2 SPWM波形</center>

<p>用信号处理学科的知识来分析，图2(a)中的三角波为SPWM载波，正弦波为基波，而图2(b)的SPWM波形，则为调制波。实现图2(b)效果的SPWM的调制方式也很简单，将三角波输入比较器的正向输入端，正弦波输入比较器的反相输入端，则比较器的输出端就会输出如图2(b)的波形。本作品也正是采用了这种方式来生成SPWM波，利用了TL494内部的RC振荡器产生三角波，比较器来产生SPWM波。</p>
<p>既然获得了SPWM波，那我们又如何从SPWM波中间恢复原来的波形呢？</p>
<p>答案就是<strong>低通滤波</strong>，将SPWM波通过一个合适的LC低通滤波电路，就能将基波信号还原，这也是市面上正弦波逆变器的主流做法，还有音响功放电路中的D类放大器，也是采用这种方式。</p>
<p><img data-fancybox="gallery" data-sizes="auto" data-src="https://res.cloudinary.com/changsha/image/upload/v1639445228/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/LC%E4%BD%8E%E9%80%9A_upg9n4.png" alt="https://res.cloudinary.com/changsha/image/upload/v1639445228/Blog/Article/%5B%E7%A1%AC%E4%BB%B6DIY%5D%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/LC%E4%BD%8E%E9%80%9A_upg9n4.png" class="lazyload"></p>
<center>图3 LC低通滤波器</center>

<p><img data-fancybox="gallery" data-sizes="auto" data-src="https://img-blog.csdnimg.cn/img_convert/2636a83b9491170f56eb5073b0944f6c.png" alt="LC低通滤波频响曲线" class="lazyload"></p>
<center>图4 LC低通滤波器频响曲线</center>

<p>这里借用一篇很精髓的文章的图片，建议看看<a target="_blank" rel="noopener" href="https://blog.csdn.net/weixin_39986896/article/details/112074407">原文</a>。 图4中最大增益处的频率，就是LC电路的固有谐振频率，可以发现只要输入频率大于固有谐振频率，那么LC电路的增益一直在下降，也就是说，我们只要保证SPWM的载波频率远大于基波，再选取一个合适的LC低通滤波器，那不就实现了信号的还原吗？</p>
<p>既然提到信号处理调制解调的概念，那么我们采用SPWM的最终目的其实也是为了放大或者产生某种信号。那估计又有读者会问，放大电路这么多，为啥一定要用SPWM来放大呢，还要调制解调，不是多此一举吗？</p>
<p>这个问题，问得很好。初学者在设计电路时经常忽略的一个问题，就是电路的带载能力，换句话说就是最大能输出多少功率，以及效率。我们常用的信号放大，有运放、有三极管共集电极输出共发射极等各式各样的放大电路，但是他们的放大方式，都是线性放大，有致命的缺点：<strong>效率低，输出功率小</strong>，等于是串联电阻实现的电压调节。为了让读者更好的理解，咱们来看个共发射极放大电路，以及其等效电路对此分析：</p>
<p><img data-fancybox="gallery" data-sizes="auto" data-src="https://res.cloudinary.com/changsha/image/upload/v1639446564/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/%E7%94%B2%E7%B1%BB%E6%94%BE%E5%A4%A7_n4xa0l.png" alt="https://res.cloudinary.com/changsha/image/upload/v1639446564/Blog/Article/%5B%E7%A1%AC%E4%BB%B6DIY%5D%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/%E7%94%B2%E7%B1%BB%E6%94%BE%E5%A4%A7_n4xa0l.png" class="lazyload"></p>
<center>图5 共发射极放大</center>

<p>我们常用的共发射极放大电路，如图5左侧所示，如果把其视为一个信号源，则等效电路如右图所示，Q1等效于受控电阻R3，信号电流则是永远会通过R2进行输出。如果负载电流小还可以接受，电流大的话，在放大电路内部的损耗就是(I<sub>R3</sub>+I<sub>loud</sub>)<sup>2</sup>*R2，这使得这种结构的电路，无法把输出功率做到很大，因为做大功率的同时，为了散热，体积也是成倍的增加。如果看过运放内部原理图，也不难发现运放输出也是可以用相同的方法去分析，因此运放一般仅用于小电流信号放大。</p>
<p>而SPWM方式，通过上述原理分析，不难发现SPWM的功率管是工作在开关状态；而工作在开关状态下的开关管效率非常高，损耗则非常小，MOS管的导通内阻一般只有几mΩ，以至于几乎可以忽略。当然也会存在开关损耗，这个话题展开又会是一个很大的篇幅，本文不再赘述，以后有机会单独开一篇文章。</p>
<h4 id="TL494工作原理："><a href="#TL494工作原理：" class="headerlink" title="TL494工作原理："></a>TL494工作原理：</h4><p>先附上TL494的内部原理图</p>
<p><img data-fancybox="gallery" data-sizes="auto" data-src="https://res.cloudinary.com/changsha/image/upload/v1639411286/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/TL494_pe796k.png" alt="https://res.cloudinary.com/changsha/image/upload/v1639411286/Blog/Article/%5B%E7%A1%AC%E4%BB%B6DIY%5D%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/TL494_pe796k.png" class="lazyload"></p>
<center>图6 TL494内部原理图</center>

<p>前文说明了SPWM的原理，以及为什么要用SPWM，那TL494又是如何被用来生成SPWM的呢？</p>
<p>正常工作时，TL494的5脚会产生一个锯齿波，其频率由Rt、Ct共同决定，计算公式为：</p>
<p>​                                                            F<sub>osc</sub>=1.1/RtCt</p>
<p>其中，频率单位为(Hz)，电容单位为法拉(F)，电阻单位为欧姆(Ω)。本作品的取值算出来的锯齿波频率在215khz左右。</p>
<p>为了方便理解494起的作用，咱们结合前面讲到的SPWM原理，先看一组简化等效电路图：</p>
<p><img data-fancybox="gallery" data-sizes="auto" data-src="https://res.cloudinary.com/changsha/image/upload/v1639470423/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/TL494demo_jkxip5.png" alt="https://res.cloudinary.com/changsha/image/upload/v1639470423/Blog/Article/%5B%E7%A1%AC%E4%BB%B6DIY%5D%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/TL494demo_jkxip5.png" class="lazyload"></p>
<center>图7 TL494简化原理图</center>

<p>如图5所示，上电以后，TL494的5号引脚就会产生一个锯齿波，值得注意的是，这个<b>锯齿波的峰值Vctpp并非固定值</b>，它会随着频率的上升而下降，这会影响到我们后续的<b>校零操作（调整静态工作点)</b>。</p>
<p>如图5所示，可以把TL494当成一个自带锯齿波发生器<b>(载波)</b>的比较器，我们仅需在其正相输入端输入一个 0~Vctpp的信号<b>（基波）</b>，TL494就会在其输出端输出调制好的SPWM<b>(调制波)</b>，怎么样，是不是很简单？</p>
<p>TL494引脚看似很多，共有16个引脚，实际上很好控制。首先，上电后，14号引脚就会输出一个5V的基准源，只要芯片没坏，都会有固定5V输出；5号、6号引脚为内部RC振荡器，决定锯齿波频率，示波器测量5号引脚，就能观察到TL494产生的锯齿波。</p>
<p>1、2、15、16号引脚均为内部误差放大器的输入端，这两个误差放大器是等效的，一般用作电流与电压反馈，通过两个二极管组成的或门接到3号引脚。这里一共就去了5个引脚，这5个引脚的用途，是设计开关电源时组成反馈环路。但本设计并非常规用途，所以1、15并联后接14号引脚（接正极）；2、16并联后接地，3号引脚悬空，这样就把两个误差放大器屏蔽了，PWM比较器就永远处于输出最大占空比的状态。</p>
<p>4号引脚为死区时间控制，在屏蔽了TL494的两个误差放大器之后，3号引脚会处于0V左右，迫使PWM比较器输出满占空比。但是TL494还有一个死区时间比较器，其反相输入端接5号引脚，正向输入端通过一个内部电压钳位接到4号引脚。该内部电压箝位，为TL494设计的最大死区限制，也就是图3中死区时间比较器的最大占空比约在95%左右。</p>
<p>13号引脚为输出方式控制，接GND为单管输出；接14号引脚（Vref)为推挽输出。本次设计采用单管输出，故接GND。这种接法下，TL494内部开关管Q1、Q2的动作是同步的，因此可以将两个开关管直接并联，由于TL494将开关管的发射极与集电极均开放出来，故PWM输出方式可采用共集电极输出方式，也可以采用开漏输出，本设计采用共集电极输出。</p>
<h4 id="反相、死区电路工作原理"><a href="#反相、死区电路工作原理" class="headerlink" title="反相、死区电路工作原理"></a>反相、死区电路工作原理</h4><p><img data-fancybox="gallery" data-sizes="auto" data-src="https://res.cloudinary.com/changsha/image/upload/v1640387781/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/%E6%AD%BB%E5%8C%BA_hzqz1c.png" alt="deadtime" class="lazyload"></p>
<p>反相电路：</p>
<p>由于TL494的双端输出是为推挽拓扑设计的，配置为双端输出时，C1、C2输出的占空比虽可由4号引脚控制，但两路占空比始终相同，并非反相关系；而通过上文分析可知，要实现SPWM，是需要互为反相关系的两路PWM波，故TL494配置成单端输出，并采用异或门芯片CD4030对其进行反相，产生两路相互反相（占空比互补）的PWM波。</p>
<p>死区电路：</p>
<p>因为MOS管开通与关断均有一个过程，需要一定时间，而经过CD4030反相后的波形，间隔很短，如果直接用来驱动半桥（全桥）电路，就很容易出现上下管直通的情况，因此要加入死区时间来规避这一现象。图中采用的方案为<b>延迟开通，正常关闭</b>。在上升沿阶段，二极管截止，通过RC电路对上升沿进行延迟，实现了延迟开通；而在下降沿阶段，二极管导通，使后级MOS管迅速关断，由此实现死区时间的控制。二极管采用肖特基二极管或快恢复二极管即可，RC时间常数应与载波相匹配，一般死区时间为整个周期的5%-10%。</p>
<h4 id="IR2110工作原理"><a href="#IR2110工作原理" class="headerlink" title="IR2110工作原理"></a>IR2110工作原理</h4><p>老规矩，先上内部原理图</p>
<p><img data-fancybox="gallery" data-sizes="auto" data-src="https://res.cloudinary.com/changsha/image/upload/v1639413276/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/IR2110_guahqk.png" alt="https://res.cloudinary.com/changsha/image/upload/v1639413276/Blog/Article/%5B%E7%A1%AC%E4%BB%B6DIY%5D%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/IR2110_guahqk.png" class="lazyload"></p>
<p><img data-fancybox="gallery" data-sizes="auto" data-src="https://res.cloudinary.com/changsha/image/upload/v1639413276/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/IR2110Pinmap_jsjobn.png" alt="https://res.cloudinary.com/changsha/image/upload/v1639413276/Blog/Article/%5B%E7%A1%AC%E4%BB%B6DIY%5D%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/IR2110Pinmap_jsjobn.png" class="lazyload"></p>
<center>图8</center>

<p>在分析IR2110之前，我们要时刻谨记一个条件：MOS管的开通条件。</p>
<p><b>N沟道的MOS管的开通条件为Vgs&gt;Vth </b>，Vth是MOS管的开通阈值电压，手册会给出。</p>
<p><img data-fancybox="gallery" data-sizes="auto" data-src="https://res.cloudinary.com/changsha/image/upload/v1640395494/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/%E5%85%A8%E6%A1%A5_uxtahk.png" alt="https://res.cloudinary.com/changsha/image/upload/v1640395494/Blog/Article/%5B%E7%A1%AC%E4%BB%B6DIY%5D%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/%E5%85%A8%E6%A1%A5_uxtahk.png" class="lazyload"></p>
<p>以Q1、Q3为例，下臂Q3的驱动很好理解，Q3的S端接地，故只要给到Vth，Q3自会导通。而Q1为上臂，S端与Q3的D端Brg2网络相连，该点电位并非定值，而是在Gpower与Vpower之间不断变化的变数，再回看MOS管的开通条件，Vgs&gt;Vth，那此时Vgs相对于Gpower不仅仅只是Vth，而是Vth+V<sub>Brg2</sub>，因此驱动就会变得很麻烦。</p>
<p>于是就有了类似于IR2110的专业半桥MOS驱动芯片，这种芯片基于电荷泵原理来驱动半桥上臂。</p>
<p><img data-fancybox="gallery" data-sizes="auto" data-src="https://res.cloudinary.com/changsha/image/upload/v1640396997/Blog/Article/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/IR2110%E5%8E%9F%E7%90%86_qqoxfg.jpg" alt="https://res.cloudinary.com/changsha/image/upload/v1640396997/Blog/Article/%5B%E7%A1%AC%E4%BB%B6DIY%5D%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/IR2110%E5%8E%9F%E7%90%86_qqoxfg.jpg" class="lazyload"></p>
<p>如上图所示，VCC为用于驱动MOS管的电源，与Gpower之间的电压应&gt;Vth，但应小于20V，一般MOS管的Vgs最大限制为20V，超过则容易出现损坏MOS管的情况。</p>
<p>上图的设计，利用二极管D5与电容C1巧妙地把驱动电压抬升了。在下臂Q3导通阶段，Brg2电位为Gpower，D5导通，VCC通过D5给C1充电。而当下臂Q3截止信号来临，Q1开通信号来的阶段，上臂靠C1提供能量，驱动Q1。Q1导通后，Brg2的电位则被抬升到Vpower，与此同时，D5阴极电位被抬升到Vpower+V<sub>C1</sub>，D5截止。也因此，必须选用高反向耐压、低反向恢复时间的二极管，如RS1M。自此完成一个完整的驱动周期。</p>
<p>IR2110驱动MOS管的核心原理，就是巧妙地利用了二极管与电容来驱动上臂。</p>
<h4 id="测试"><a href="#测试" class="headerlink" title="测试"></a>测试</h4><p>测试点为下臂MOS管驱动波形，输出负载接的8Ω音响</p>
<div style="position: relative; width: 100%; height: 0; padding-bottom: 75%;"><iframe 
src="https://res.cloudinary.com/changsha/video/upload/v1640397631/Blog/Article/%5B%E7%A1%AC%E4%BB%B6DIY%5D%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/Test_cauc7g.mp4" scrolling="no" border="0" 
frameborder="no" framespacing="0" allowfullscreen="true" style="position: absolute; width: 100%; 
height: 100%; left: 0; top: 0;"> </iframe></div>

<p>————————————————</p>
<div style="position: relative; width: 100%; height: 0; padding-bottom: 75%;"><iframe 
src="https://res.cloudinary.com/changsha/video/upload/v1640397627/Blog/Article/%5B%E7%A1%AC%E4%BB%B6DIY%5D%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/Test2_ptbkpd.mp4" scrolling="no" border="0" 
frameborder="no" framespacing="0" allowfullscreen="true" style="position: absolute; width: 100%; 
height: 100%; left: 0; top: 0;"> </iframe></div>



<p>可以看到，MOS管的驱动波形占空比在随着音乐波形波动，经过LC低通滤波器后接音箱，就被还原成了音乐。这就是D类放大器的原理，理论上转换效率可以做到95%以上。</p>
<p>在实际测试中，发现低通滤波器的电感也会跟着音乐一起响，音质也有所欠缺。改进版本采用专业分频器空心电感及MKP电容，具体效果待测试后再更新一波。</p>
<p>参考文献：</p>
<p>[1]  <a target="_blank" rel="noopener" href="https://blog.csdn.net/u010632165/article/details/110889621">SPWM基本原理详解（图文并茂+公式推导+C程序实现）</a></p>

  </article>

  
      
    <div class="nexmoe-post-copyright">
        <strong>Author：</strong>ZeyuWu<br>
        <strong>Link：</strong><a href="http://example.com/2021/12/13/[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8/" title="http:&#x2F;&#x2F;example.com&#x2F;2021&#x2F;12&#x2F;13&#x2F;[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8&#x2F;" target="_blank" rel="noopener">http:&#x2F;&#x2F;example.com&#x2F;2021&#x2F;12&#x2F;13&#x2F;[%E7%A1%AC%E4%BB%B6DIY]%E5%9F%BA%E4%BA%8ETL494%E7%9A%84SPWM%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8&#x2F;</a><br>
        
            <strong>版权声明：</strong>本文采用 <a href="https://creativecommons.org/licenses/by-nc-sa/3.0/cn/deed.zh" target="_blank">CC BY-NC-SA 3.0 CN</a> 协议进行许可
        
    </div>


  
  
  <div class="nexmoe-post-meta nexmoe-rainbow">
    
    
</div>

  
      <div class="nexmoe-post-footer">
          <section class="nexmoe-comment">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk@latest/dist/gitalk.min.css">
<div id="gitalk"></div>
<script src="https://cdn.jsdelivr.net/npm/gitalk@latest/dist/gitalk.min.js"></script>
<script type="text/javascript">
    var gitalk = new Gitalk({
        clientID: '80b2453b6d5f37ad6225',
        clientSecret: '43e99fa852795c9a7b3eb924b2558c64b84bbdeb',
        id: window.location.pathname,
        repo: 'nexmoe.github.io',
        owner: 'nexmoe',
        admin: 'nexmoe'
    })
    gitalk.render('gitalk')
</script>
</section>
      </div>
  
</div>
            <div class="nexmoe-post-right">
              <div class="nexmoe-fixed">
                  <div class="nexmoe-tool"> 
                    
                      
                    
                      <a href="#nexmoe-content" class="toc-link" aria-label="回到顶部" title="top"><button class="mdui-fab mdui-ripple"><i class="nexmoefont icon-caret-top"></i></button></a>
                  </div>
              </div>
            </div>
        </div>
    </div>
     
    <div id="nexmoe-search-space">
        <div class="search-container">
            <div class="search-header">
                <div class="search-input-container">
                    <input class="search-input" type="text" placeholder="Search" oninput="sinput();">
                </div>
                <a class="search-close" onclick="sclose();">×</a>
            </div>
            <div class="search-body"></div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/combine/npm/lazysizes@5.1.0/lazysizes.min.js,npm/mdui@0.4.3/dist/js/mdui.min.js?v=1"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>

 

<script async src="/js/app.js?v=1658327705556"></script>



<script src="https://cdn.jsdelivr.net/npm/justifiedGallery@3.8.1/dist/js/jquery.justifiedGallery.min.js"></script>
<script>
	$(".justified-gallery").justifiedGallery({
		rowHeight: 160,
		margins: 10,
	});
</script>


    





</body>

</html>
